Does your code really work until it's Secure?
So as you may have noticed from my earlier posts, to me it is hard to be a software engineer without being a bit of a web designer these days. Well, in this day and age (and quite frankly for quite a long time) it has been impossible to be a good developer without coding with security in mind. Yes, yet another thing that we have to learn and keep up to date with.
The plethora of security minded folks that are friends of mine help - but do the various security groups that I belong to. I'm a member of CapSecDC - The Capital Area Security Group that meets once a month here in the nation's capital. It's generally wings and beer, some security talk - but basically a group of people hanging out that also keep in touch online throughout the month.
And then there is OWASP - which I believe that most developers need to become familiar with. OWASP is an international organization that it dedicated to Web Application Security. Its right there in its name - Open Web Application Security Project - yet, the wonderful meetings that are held all over the DC area are usually attended by security people, network people, and unfortunately not very many software people.
I hazard to guess that in the room of 80+ people at the DC/Virginia chapter meeting on April 9, 2009 on Penetration Testing that I was one of 2 or 3 that wrote software for a living. It was a presentation of top 10 list of web hacks. Something that you would think would be of interest to Software Developers - yet most everyone in the room had more of a systems or network bend to them.
And the White Hat Security List is even different then the OWASP Top 10, which sadly I fear most developers aren't familiar with either. Those are things that I hope will change over time - because I get tired of defending developers when I hear "Software People aren't THAT concerned about Security".
The OWASP organization, its various tools such as webgoat, and the Enterprise Security API deserve its own post, so I will give them one, but my call out for developers to "Code Securely" could wait no longer. If you aren't familiar with OWASP, or one of the CitySec groups, I urge you to seek them out.
As for The White Hat Security Top 10 list, Jerimah Grossman's website/blog, the CTO of White Hat Security, is probably the best reference for that:
Jeremiah Grossman
Twitter: jeremiahg
jeremiah@whitehatsec.com
But expect this to be the first of many posts on Web Application Security, OWASP's Enterprise Security API (ESAPI), the OWASP Top 10 and the WebGoat application for teaching engineers how to protect against these well known vulnerabilities, and AppSecDC - the OWASP National Conference that is going to be held here in the nation's capital later in the year. And in case you were wondering if this stuff is relevant to you, consider the toolkits that exist for ESAPI now:
ESAPI Toolkits
# Java EE
# .NET
# Classic ASP
# PHP
# ColdFusion
# Python
# Haskell
And to wet your appetite, here is the OWASP Top 10 list....
# Cross Site Scripting (XSS)
# Injection Flaws
# Malicious File Execution
# Insecure Direct Object Reference
# Cross Site Request Forgery (CSRF)
# Information Leakage and Improper Error Handling
# Broken Authentication and Session Management
# Insecure Cryptographic Storage
# Insecure Communications
# Failure to Restrict URL Access
See...you did know those. We'll talk more in a later post on how to protect your software against them.